wait_dynamic_thread

1. Design has three modules in UT level, Transmit sends data from the array in 
   an autonmous thread, interface receives data and passes it on to the display
   block.
   
         clk
          |
    ______V_______             _______________              _______________
   |              |           |               |            |               |
   |              |inp1   inp2|               |outp2  outp1|               |
   |   TRANSMIT   |-----------|   INTERFACE   |------------|    DISPLAY    |
   |              |           |               |            |               |
   |______________|           |_______________|            |_______________|
 
   
 
2. Interface block has three threads, one a slave thread sensitive to input, one 
   parent process thread and one child process thread. Input sensitive thread 
   create a parent process for every input and move the parent process to the 
   runnable list and kills the child process if child process is active.
   
3. The parent process creates a child process while running, moves the child 
   process to the runnable list and kills itself.

   Also, time is represented in the new notaion of sc_time.

   some details related to dynamic threads are below:
   
Testing
-------

Have a thread in waiting, sc_start_thread, sc_stop_thread and
sc_kill_thread are all ineffctive

Background 
----------

Dynamical handling of 
  parent-child thread creation, 
  stop thread, 
  kill thread. 
  
The dynamically threads have no sensitivity.

sc_get_thread_pid() : 
    return the current functions process id.  Process id need not be an
    integer value.  It might be a class.

sc_start_thread(pid) :
    move the process specified in the pid to the runnable list.
    If the 'pid' is the same as the running process then the call 
    has no affect.  The call has no effect on waiting processess.

sc_stop_thread(pid) : 
    move the process from the runnable list to the suspended list. 
    If 'pid' is of the calling process then the process stops immediately.  
    It has no affect on waiting processess.

sc_create_thread(&pid) : 
    create a thread dynamically just like SC_THREAD and add 
    the process to the suspended list.  An explicit start is required 
    to start the process. 

sc_kill_thread(pid) :
    Kill a thread.  If 'pid' is of the calling thread the process stops 
    immediately.  It has no affect on waiting processess.
